package com.xbj.service;

import com.github.pagehelper.PageInfo;
import com.xbj.domain.Emp;
import com.xbj.domain.EmpDetail;
import com.xbj.domain.EmpDxDesc;
import com.xbj.domain.EmpZxDesc;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface EmpService {

    // 查询咨询师列表
    public List<Map<String, Object>> findUser();

    // 查询电销列表
    public List<Map<String, Object>> findDxUser();

    // 根据学员ID查询学员描述信息
    public Map<String, Object> getEmpDesc(Integer id);

    public Map<String, Object> getEmpDescByZx(Integer id);

    // 保存学员信息以及电销记录信息
    public int addEmp(Emp emp);

    // 根据条件查询电销记录列表
    public PageInfo<Emp> getListByDX(int currentNum, int pageSize, Emp emp);

    // 保存电销备注中的内容
    public int saveDxDesc(EmpDxDesc empdxdesc);

    public int saveZxDesc(EmpZxDesc empzxdesc);

    // 根据电销转咨询插入对应的内容
    public int saveDxToZxRecord(Integer empId, String zxDate, String zxId);

    public int updateDxToDxRecord(Integer empId, Integer dxId, Date dxDate);

    // 查询咨询记录
    public EmpZxDesc findZxRecord(Integer empid);

    // 更新
    public int updateDxToZxRecord(Integer zxdescid, Integer empId, String zxDate, String zxId);

    // 根据条件查询咨询记录列表
    public PageInfo<Emp> getListByZX(int currentNum, int pageSize, Emp emp);

    //根据更新条件更新学员信息
    public int updateEmp(Integer empId, String field, String newValue);

    //获取当前登录人员权限，如果为最高权限则展示所有数据
    public boolean findEmpPermissionById(Integer userId);

    //更新学员状态
    public void updateEmpStatus(Integer empId);

    //更新学员转电销的状态情况
    public void updateEmpState(Integer empId);

    //根据ids查询导出的学员信息列表
    public List<Emp> findEmpExcel(List<Integer> ids);

    //保存已报名学员信息
    public int saveEmpDetail(EmpDetail empDetail);

    //更新学员其他信息
    public int updateEmpDetail(EmpDetail empDetail);

    public EmpDetail findEmpDetailByEmpId(Integer empId);


    // 根据条件查询咨询
    public PageInfo<Emp> findEmpByDetailApplyDate(int currentNum, int pageSize, Map<String, Object> map);

}
